// 全局指令
// 按钮权限：两种方式
// 第一种；登录后查询全部按钮权限List，进入页面后通过指令进行匹配是否有相同的尺寸，存在即有权限
// 第二种：每次进入页面进行查询对应页面的按钮权限List,然后匹配
import pinia from '@/store/index.js'
import { useMainStore } from '@/store/user.js'
const mainStore = useMainStore(pinia);
export const auth = {
  mounted(el, binding, vnode) {
    const { value } = binding
    const allPermission = "all"
    // 先判断是否all权限
    if (mainStore.authBtnList.length === 1 && mainStore.authBtnList[0] === allPermission) {
      return
    }
    const result = mainStore.authBtnList.includes(value);
    if (!result) {
      el.style.display = 'none';
    }
  }
}

export const hasPermission = {
  mounted(el, binding, vnode) {
    // v-if效果
    // el.parentNode && el.parentNode.removeChild(el)
    // el.style.display = 'block'; 不能写block ，会影响按钮变成块元素
    if (!binding.value) {
      el.style.display = 'none';
    }
  },
  // 一般情况只需要写mounted即可；如果需要动态的，则需要启用updated
  updated(el, binding, vnode) {
    if (binding.value) {
      // 用移除，不能写block ，会影响按钮变成块元素
      el.style.removeProperty('display')
    } else {
      el.style.display = 'none';
    }
  },
}